package bean;

import java.util.Date;
import java.util.LinkedList;
import java.util.List;

import javax.persistence.*;
import bean.RenglonMovimiento;


@Entity
@Table(name="movimiento")

public class Movimiento  {

	private int numero;
	private Date fecha;
	private List<RenglonMovimiento> renglones;

	public Movimiento(){}
	
	
	public Movimiento(int numero, Date fecha) {
		super();
		this.numero = numero;
		this.fecha = fecha;
		this.renglones = new LinkedList<RenglonMovimiento>();
	}

	@Id
	public int getNumero() {
		return numero;
	}
	public Date getFecha() {
		return fecha;
	}


	public void agregarRenglon(int nro_renglon, int codigo_cuenta, String tipo) {
		// TODO Auto-generated method stub
		RenglonMovimiento r = new RenglonMovimiento();
			
		r.setNumero(this.numero);
//		r.setRenglon(nro_renglon); TODO://REVISAAAAAAAAAAAAAAAAAAAAAAAAAAAR
		r.setCodigo_cuenta(codigo_cuenta);
		r.setTipo(tipo);
		renglones.add(r);
	}

	@OneToMany(cascade = CascadeType.ALL)
	/*
	 * podemos usar tanto el PrimaryKeyJoinColumn como el @JoinColumn .. 
	 * el segundo el util cuando en la DB no tenes el mismo nombre de la pk
	 */
//    @PrimaryKeyJoinColumn
	@JoinColumn(name="numero")

	public List<RenglonMovimiento> getRenglones(){
		return this.renglones;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	public void setFecha(Date fecha) {
		this.fecha = fecha;
	}

	public void setRenglones(List<RenglonMovimiento> renglones) {
		this.renglones = renglones;
	}
}
